find指定具体时间参数

您所在的位置:网站首页 linux find 时间查找 find指定具体时间参数

find指定具体时间参数

2024-07-17 13:26| 来源: 网络整理| 查看: 265

之前在写一个文件处理脚本的时候,需要查找在某个具体时间段内生成的批量文件,第一时间想到的是"find -mtime",但是这种查找的时间单位是天,怎么精确到分钟呢?或者说按照时间戳去查找?这就需要使用"-newermt"

1."-newermt"参数

find /dir1 -type f -newermt '2018-5-26 21:00' ! -newermt '2018-5-26 22:00' -exec cp {} /dir2 \; #将/dir1目录下2018-5-26 21:00到2018-5-26 22:00时间段内修改或生成的文件拷贝到/dir2目录下

该参数中的m其实就表示mtime,t表示绝对时间,那同样还存在:-newerat、-newerct

注意: 在使用过程中发现,可能出现这样的错误提示 find: I cannot figure out how to interpret \'2018-05-26' as a date or time 出现这样的问题,一般是因为系统版本低或者在脚本中使用缺少执行环境造成的,可以将单条命令调整为:

cmd="find /dir1 -type f -newermt '2018-5-26 21:00' ! -newermt '2018-5-26 22:00' -exec cp {} /dir2 \;" echo $cmd | sh

2."-atime"、"-ctime"、"-mtime"参数 回忆一下这三个参数的使用方法:

-atime:访问时间,文件被读取或执行的时间。 -ctime:属性改变时间,文件的inode被修改的时间 -mtime:内容修改时间

参数后面会跟上具体的数字:

-1:24小时之内操作过的 1:24小时之外,48小时之内操作过的 +1:48小时之外操作过的 #这三种时间没有交集



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3